System and method for automatically presenting a media file on a mobile device based on relevance to a user

ABSTRACT

A system and method for automatically presenting a media file on a mobile device based on an analysis of metadata associated with the media file. The system evaluates a media file&#39;s metadata to determine whether the media file is relevant to a mobile device user based on time, date, location, subject matter, or other criteria. If the media file is relevant to the user, the system automatically displays the media file on the mobile device. By presenting the media file to a mobile device user, the system reminds the user of fond memories associated with past dates, people, events, or places. In some embodiments, the system may also prompt a user of the mobile device to take an action related to the media file presented on the mobile device, such as prompting the user to place a telephone call to a person pictured in the image.

BACKGROUND

Mobile devices, such as mobile phones, are ubiquitous in society andhave grown in sophistication so that they now provide multipleapplications that were previously executed by individual devices. Forexample, beyond placing telephone calls, a typical mobile phone nowallows a user to send text messages and email, surf the internet, listento music, review pictures and watch video, and capture and send picturesand video. As a result of their widespread use and extensive features,mobile devices allow users to effortlessly capture memories in aphotograph or video, share these memories with friends through email orMMS message, and relive moments by browsing a library filled withvarious types of media.

While a mobile device typically provides an adequate interface todisplay and enjoy captured media, the problem of old media files is onlyexacerbated by the passage of time. A user may forget about media filesas his or her memory fades. Or a user may lose track of media files asthe number of media files that are associated with a user increases. Forexample, a two-year-old picture of a friend's birthday party may becomeburied in numerous folders, or a user may simply forget the picture wastaken or even the memory associated with it. Thus, while a stored mediafile may provide a user with an instant and gratifying recollection, theuser may remain ungratified as the media file remains undiscovered andunopened.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a representative scenario in which a system selects andpresents a relevant media file on a mobile phone based on metadataassociated with the media file.

FIG. 2 is a diagram of an environment in which a system thatautomatically selects and presents a media file on a mobile deviceoperates.

FIG. 3 is a flow chart of a process implemented by the system forselecting a media file to automatically present on a mobile device.

FIGS. 4A-4C are screen shots of representative interfaces that aredisplayed on a mobile device by the system when the system presents amedia file on the mobile device.

FIG. 5 is a representative table such as might be used by the system fororganizing media files and metadata associated with the media files.

DETAILED DESCRIPTION

A system and method for automatically presenting a media file on amobile device based on an analysis of metadata associated with the mediafile is disclosed. A media file may contain audio content, still picturecontent, video content, or text content. The metadata (or data aboutdata) associated with a media file describes the contents of the mediafile or something relating to the media file. For example, an image filemay include metadata describing a date the image was captured, alocation where the image was captured, and an identity of a person ofobject pictured in the image. The system evaluates a media file'smetadata to determine whether the media file is relevant to a mobiledevice user based on time, date, subject matter, or other criteria. Ifthe media file is relevant to the user, the system may automaticallypresent the media file on the mobile device. By presenting the mediafile to a mobile device user, the system reminds the user of importantevents in the user's life or fond memories associated with past dates,people, events, or places.

In some embodiments, the system may also prompt a user of the mobiledevice to take an action related to the media file presented on themobile device. For example, the system may display an image on a mobilephone and prompt the user to place a telephone call to a person picturedin the image or to forward the image. By prompting a user to takeaction, the system increases the user's enjoyment of the mobile deviceas it reconnects people over past events. By prompting communicationbetween users, the system may also stimulate network usage of a serviceprovider's network at times when network usage may otherwise be reduced.

In some embodiments, the system may send a message to a related user tocause the mobile device of the related user to present the same mediafile to the related user as is being presented to the first user. A“related user” is a user that is associated with the media file beingpresented to the first user on the mobile device, such as being depictedin the media file or being identified in the metadata associated withthe media file as the originator of the media file. By causing themobile device of the related user to present the same media file as isbeing displayed to the first user at about the same time, the users areable to share in a joint memory.

Various embodiments of the invention will now be described. Thefollowing description provides specific details for a thoroughunderstanding and an enabling description of these embodiments. Oneskilled in the art will understand, however, that the invention may bepracticed without many of these details. Additionally, some well-knownstructures or functions may not be shown or described in detail, so asto avoid unnecessarily obscuring the relevant description of the variousembodiments. The terminology used in the description presented below isintended to be interpreted in its broadest reasonable manner, eventhough it is being used in conjunction with a detailed description ofcertain specific embodiments of the invention.

FIG. 1 depicts a representative scenario in which a system operates on amobile device 120, such as a mobile phone, to automatically select andpresent a media file on the phone. In the depicted example, a user 110sits in relative boredom with her mobile phone nearby. The systemautomatically selects and displays a picture 140 on the phone's screenthat would have historical relevance to the user. The picture 140 is ofthe user 110 at her friend's birthday party from exactly a year earlier.The next time that the user picks up the mobile phone, she views thepicture 140 and remembers her friend and the great time that they had atthe party. As the user views the picture, the system may prompt the userto place a call or otherwise contact her friend. Thus, the system notonly successfully triggers a fond memory for the user, but it furtherfacilitates communication between friends.

The system did not happen to display a memorable picture to the user ata proper date based on random luck. Rather, the system successfullyselected both a relevant image file and a time and date to display theimage by analyzing metadata associated with the image file. In theexample depicted in FIG. 1, the system searches the mobile device 120 oran account associated with the mobile device for media files thatsatisfy a search strategy. As will be described in additional detailherein, a search may focus on a particular creation date and time of amedia file, one or more tags indicating the subject matter of the mediafile, or other characteristics of the media file that may suggestrelevance to the mobile device user. For example, a search strategy mayspecify that media files must be created within a particular time ordate range. In the example depicted in FIG. 1 the system searchesmetadata 160 to locate media files that were created on a calendar datethat is the same as the present date 150. After performing the search,the system analyzes metadata associated with the media content locatedby the search to identify those media files that may be of particularrelevance or importance to the user. For example, the user may havepreviously added tags to the picture 140 such as the tags “Jen” and“birthday.” The system may therefore select the media file to present tothe user, because “birthday” is a special word and “Jen” is contained asan entry in the address book of the mobile phone. Finding high relevancefor both the date the image was captured and the tags associated withthe image, the system displays the picture 140 on the mobile device 120at a time and date appropriate for the user 110.

FIG. 2 and the following discussion provide a brief, general descriptionof a suitable environment in which the system can be implemented.Although not required, aspects of the invention are described below inthe general context of computer-executable instructions, such asroutines executed by a general-purpose data processing device. Thoseskilled in the relevant art will appreciate that the invention can bepracticed in a variety of mobile (handheld or portable) devices,including: mobile telecommunications devices, Internet appliances,personal digital assistants (PDAs), digital music and video players,mobile phones, consumer electronics such as digital picture frames, andthe like. Such devices have one or more processors for executingsoftware instructions. Aspects of the invention may be stored ordistributed on durable computer-readable media, including magneticallyor optically readable computer discs, hard-wired or preprogrammed chips(e.g., EEPROM semiconductor chips), or other durable data storage media.

While aspects of the invention, such as certain functions, are describedas being performed exclusively on a single device, the invention canalso be practiced in distributed environments where functions or modulesare shared among disparate processing devices that are linked through acommunications network, such as a Local Area Network (LAN), Wide AreaNetwork (WAN), or the Internet. In a distributed computing environment,program modules may be located in both local and remote memory storagedevices and executed by mobile device, server, or other computing deviceprocessors.

As shown in FIG. 2, a mobile telecommunications device 200 a, 200 b . .. 200 n, such as a mobile phone, media device, email device, or thelike, may communicate with servers or other computing devices via amobile telecommunications network or other wireless telecommunicationsnetwork. For example, mobile device 200 b may establish a communicationchannel with a mobile transceiver 205 using any known standard, such asGSM, CDMA, GPRS, EDGE, UMTS, etc. Alternatively or additionally, mobiledevice 200 a may establish a communication channel via a wireless localarea network (WLAN) using a wireless hotspot or access point 210. Thewireless access point 210 may use any known wireless communicationprotocols, such as IEEE 802.11 or IEEE 802.16. The mobile device maycommunicate with the access point 210 using the Unlicensed Mobile Access(UMA) or the Generic Access network (GAN) protocol. The mobiletransceivers and access points are connected via public and/or privatenetworks 215 to remote services operating on servers and other computingdevices.

Media files and associated metadata that are searched by the system maybe stored locally on the mobile device 200 or at a network location thatis associated with the mobile device. For example, media files andmetadata used by the system may be stored in a database 218 associatedwith a web server 216, in a third party database 220 associated with athird party web server 222, in a personal computer 224, in a third partycomputer 228, or in another mobile device 200. The media files andmetadata may be transmitted wirelessly to a mobile device 200 via theaccess point 210 or mobile transceiver 205. The system may also transmitand receive search queries and results via the access point 210 andmobile transceiver 205 to and from network devices. As a result, thedisclosed system may identify relevant media files from both local (onthe mobile device) and remote (in networked storage or from a service)locations.

FIG. 3 is a flow chart of a process 300 implemented by the system toautomatically select one or more media files to present on a mobiledevice. At a block 305, the system constructs an initial searchstrategy. The initial search strategy constructed by the systemtypically specifies a media type (e.g., a song, a picture, a video) anda date range. For example, an initial search strategy might be to lookfor any pictures that were created on or within one week of today'scalendar date in any preceding year. As another example, an initialsearch strategy might be to look for any song that was last played bythe user exactly six months ago. Those skilled in the art willappreciate that the initial search strategy may be tailored depending onthe number of media files to search and the available timeframe forproducing search results.

At a block 310, the system searches for available media files thatsatisfy the search strategy. The system may search for media filesstored locally in the mobile device (e.g. stored in flash memory or in ahard or optical drive) or stored remotely (e.g., such as in storageareas accessible via a network-accessible server, computer, or othermobile device). The media files may be stored in an organized fashion(e.g., database, a media-sharing service accessible via an API) or anunorganized fashion. For example, the system may use appropriate APIs tosearch for media files located in a social networking account, such as aFacebook, Flikr, or MySpace account.

In addition to locating media files that satisfy the search strategy,the system gathers metadata that is associated with the located mediafiles. Metadata associated with a media file may include any datadescribing the media file or related to the media file. Metadata istypically, although not exclusively, associated with a media file by asystem that works in conjunction with the media file or by a user of amedia file. As an example, when a user views an image file using photomanagement software, the photo management software may automaticallyupdate the image file's metadata to indicate when the file was lastaccessed. As another example, a user or a friend of a user may add tags,such as “birthday” or “baseball,” to an image of a birthday party at abaseball game. Metadata may also include a date the image was captured,a location where the image was captured, and an identity of a person ofobject pictured in the image. Metadata may be stored as part of themedia file or in a separate file. The system may therefore search formetadata in the same or different locations as it searched for availablemedia files. In some embodiments, the system may analyze metadata togenerate more relevant metadata. The system may also analyze a mediafile to generate metadata. For example, the system may include facialrecognition software that would allow it to recognize individuals in apicture or video and automatically tag the picture or video with thenames of the recognized individuals.

At a decision block 315, the system determines whether sufficient mediafiles were located as a result of the initial search strategy. If few orno search results were located using the initial search strategy,processing continues to a block 322 where the search strategy ismodified before repeating the search at block 310. For example, if aninitial search for media files that were created on a certain calendardate did not locate any files, the search strategy may be modified tosearch for any files that were created within a week of the certaincalendar date. If, however, the system determines at decision block 315that sufficient media files were located by the initial search strategy,processing continues to a block 320.

In an effort to present a media file on the mobile device that a userfinds appropriate and relevant, the system selects one or more preferredmedia files from the search results by analyzing the metadata associatedwith the media files. The system may analyze metadata using a number ofmethods. In some embodiments, the system evaluates metadata by computinga relevancy score for each located media file. As will be described inadditional detail herein, the system evaluates the metadata associatedwith a media file to determine how closely the metadata indicates themedia file satisfies various relevance criteria selected by the system.The higher the relevancy score calculated by the system, the greater thelikelihood that a user will be pleased if the media file is presented onthe mobile device. Thus, when presenting a media file, the systemgenerally selects a media file having a highest relevancy scoreavailable.

At a block 320, the system selects the first media file search result.At a block 325, the system calculates a relevancy score for the selectedsearch result. To calculate the relevancy score, the system evaluates aselected media file in light of one or more of the following criteriaand assigns a score based on each criteria:

-   -   Time and Date. The system may evaluate date or time metadata        associated with a media file and compare the date or time to        assess how close the date or time is to a desired date or time.        The date or time associated with a media file may pertain to the        date the media file was created, the last time the file was        accessed, the last time the file was stored, the last time the        file was shared with another user, the last time the file was        tagged, or any other date or time applicable to the file. In        some embodiments, the system compares date-related metadata to a        present date and time. If, for example, metadata indicates that        a media file was created almost exactly a year earlier, the        system may assign a high date-related criteria score.

The score may increase as an anniversary of a media file's creation dateapproaches. Conversely, if metadata indicates that a media file wascreated within the last week, the system may assign a low date-relatedcriteria score. As another example, the system may search for mediafiles that were created in the same season (e.g. summer, fall) as thecurrent season, but in previous years. In addition to or in lieu of dateinformation, the system may compare the present time and identify mediafiles that were created in the past at the same time. For example, if apicture was taken at 3:38 am, the system may identify other picturesthat were taken at or around 3:38 am and assign a high time-relatedcriteria score to the pictures.

-   -   Tags. The system may analyze tags associated with a media file        and may compare the tags to known words or phrases which suggest        importance or relevance. For example, an image file may be        associated with the tags: “Caitlin,” “sister,” “birthday,” and        “Space Needle.” Since a “birthday” is a special event and the        tag “sister” suggests an important relationship, the system may        assign a high tag-related criteria score. The system may also        search an address book or similar stored list to assess the        relevance of a tag. For example, the system may search the        mobile device's address book and, upon finding an entry for        “Caitlin,” assign a high tag-related criteria score since the        presence of “Caitlin” in the address book suggests a        relationship with the user. In some embodiments, the system        compares tags to data or other information found on the Internet        or in a network database, to text from an email or a text        message that has been sent, drafted or received via the mobile        device, or to text from a document to assess the relevancy of        the tags. In some embodiments, the system assigns a higher value        to tags that are correlated to events in a user's calendar,        event planner, or another type of schedule. If, for example, the        user has on his/her schedule that they will attend a baseball        game today, the system may assign a high tag-related criteria        score to a media file having a tag “Mariners baseball game.” In        some embodiments, metadata associated with a media file may        disclose the identity of the user that added a tag. When the tag        author is disclosed, the system may assign greater value to a        user-created tag than to a tag added by a third party. Moreover,        the system may apply a different score to each tag depending on        the strength or importance of the relationship or event that the        tag suggests. For example, a general tag of “family” may be        worth 3 points, tags of close family members such as “mom,”        “grandma,” etc. may be worth 6 points, and tags of more remote        family members such as “cousin” may be worth 4 points. As        another example, a tag of “wedding” or “anniversary” may receive        a higher score than a tag of “camping.” As still another        example, a media file that is tagged as containing an individual        that is a preferred contact of the user (e.g., is in the user's        contacts list or is selected as a member of a preferred service        plan such as myFaves® by T-Mobile) may receive a higher score        than other tagged individuals. By maintaining a hierarchy of        tags and assigning points to a tag that correspond to the tag's        position within the hierarchy, the system is able to value        certain tags more highly than other tags.    -   Location. In some embodiments, tags or other metadata may        describe a location associated with a media file. For example, a        GPS or another positioning system may associate a longitude and        latitude with a media file when the media file is created. The        system may rate a media file as being very relevant when the        location specified by the tag or other metadata indicates that        the media file is related to a current position of a mobile        device. In such an embodiment, the system may utilize GPS,        triangulation of cell towers, an IP address, or another        positioning system or data indicating a location to monitor a        physical location of a mobile device. Media files having        locations that are closer to the physical location of a mobile        device may be assigned a higher location-related criteria score        than media files having metadata indicating a location far away        from the mobile device. Furthermore, in some embodiments, the        system may evaluate a user-created tag describing a location or        place by searching the Internet or elsewhere to find coordinates        for the location or place and by comparing the coordinates to a        physical location of a mobile device. For example, an image file        stored in a mobile device may be associated with a tag “Space        Needle.” The system may search the Internet and discover a        latitude and longitude for the Space Needle. The system may        thereafter monitor a physical location of the mobile device        using a GPS or another positioning system, generating a higher        location-related criteria score the closer the device moves to        the Space Needle.    -   Prior Use. The system may evaluate a frequency of use of a media        file to assess how popular the media file is to the user or to        other parties, and assign a higher use-related criteria score to        more popular media files. Use-related metadata may include        statistics or other data describing how or when a user has used        the media file. Thus, use-related metadata may include, for        example, a frequency that a user accesses a media file, a total        number of times the user or other users have accessed a file,        whether or how many times a file has been printed, or whether or        how many times a file has been sent to another person via email        or MMS message. Other use-related metadata may include a length        of time a user has accessed a media file, whether a user has        selected a media file as a screen saver or wallpaper, whether a        user has burned a media file to a CD or other disk, whether a        user has copied a media file, whether the media file was        received via a message and subsequently stored by the user on        the mobile device, or whether the system has previously        presented a media file on a mobile device and the user has taken        action based on the previously-presented media. The system may        score some use-related metadata higher than other use-related        metadata. For example, metadata indicating that an image has        been printed may be scored highly because a user who prints an        image usually finds the image appealing. However, metadata        indicating that an image was previously viewed earlier in a day        may receive a low score, as a user would likely not want to view        the same image again soon. The system may also decrement or        reduce the score as a result of certain activities. For example,        a user that viewed and deleted a local copy of an image may        cause the system to apply a zero or negative use-related        criteria score to other copies of the image.    -   Express Rating. The system may evaluate metadata indicating that        the user has expressly assigned a high value to a media file,        such as by rating or assigning a score to the media file. If the        metadata indicates that the user has assigned a high value to a        media file (e.g. a five star rating out of five), the system may        assign a high rating-related criteria score to the media file.        Conversely, if the metadata indicates that the user has assigned        a low value to a media file (e.g., a one star rating), the        system may assign a low rating-related criteria score to the        media file. The rating assigned to the media file and considered        by the system may be generated by a user, by a friend or family        of the user, or by a group of individuals (e.g., a media file        rated by members of a social networking site).    -   Collections. The system may evaluate metadata indicating that a        media file is part of a collection of media files associated        with a common event or a particular timeframe. For example, a        set of media files may be associated with a wedding or a holiday        such as Thanksgiving. As another example, a set of media files        may have been captured by a user within a 10 minute time span.        The system may assign a high collections-related criteria score        to a media file that is part of a collection, on the basis that        multiple media files associated with an event or a particular        timeframe will suggest a greater importance to a user than a        single media file that was captured or stored by the user.

At block 325, the system computes the media file's relevancy score byadding each of the criteria scores that were evaluated by the system.The criteria scores may be added so that each criteria score receivesequal weight, or weighting factors may be applied to the criteria scoresso that certain criteria receive greater weight than other criteria. Forexample, the system may rate date-related metadata higher than that ofthe tag-related metadata, and tag-related metadata higher than that ofuse-related metadata. This weighting reflects an assumption that a mediafile's date-related metadata best anticipates a user's reception to amedia file, followed by the tag-related metadata and use-relatedmetadata. The following equation is a general algorithm that may be usedby the system to calculate the relevancy score for a media file:relevancyscore=(α₁*datescore)+(α₂*timescore)+(α₃*tagscore)+(α₄*locationscore)+(α₅*usescore)+(α₆*ratingscore)+(α₇*collectionscore)Where α₁-α₈ are the weights applied by the system to each of theindividual criteria scores. After calculating the media file's relevancyscore, the system stores the relevancy score in association with themedia file.

At a decision block 330, the system determines whether another mediafile is available to evaluate. If another media file is available toevaluate, the system loops back to block 335 to select the next searchresult and then to block 325 in order to evaluate the next media file.If no additional media file is available to evaluate at decision block330, the system proceeds to block 340. At this point, the system hasscored all of the media files identified in the search results in lightof the applicable criteria at the time of analysis.

At block 340, the system selects one or more media files having thehighest relevancy score from the media files identified by the search.The media files having the highest relevancy scores are presumed to beof the highest relevance or interest to the user. At decision block 345,the system analyzes whether the selected media files have a relevancyscore above a threshold value. If no media file has a relevancy scoreabove the threshold value, the system loops back to block 322 to modifythe search strategy and search for additional media files. If at leastone media file has a relevancy score above the threshold value, thesystem proceeds to a block 350. At block 390, the system presents on themobile device one or more media files having a highest relevancy scoreabove the threshold value. By selecting only those media files have arelevancy score above a threshold value, the system tries to ensure thatthe presented media files will be highly relevant to the user.

If presenting more than one media file to the user at block 390, thesystem may present media files that are unrelated to each other or maypresent media files that are related to each other. For example, thesystem may select a sequence of media files that all are associated witha common event and which exceed the threshold value. When presenting themedia files to the user, the system may automatically step through thesequence of media files or may allow the user to manually step throughthe sequence of media files. If presented to the user automatically, thesystem may step through the media files based on time, distance, orother metric. For example, if the media files are pictures, the systemmay display each picture for 15 seconds before switching to the nextpicture. As another example, as the user approaches the Seattle SpaceNeedle, the system may present a series of media files that relate tothe Space Needle and may present a different media file as user movescloser to the Space Needle. When presenting sets of media files, not allof the media files need to be of the same format. For example, thesystem might display three pictures, then a video, then play a song tothe user, before displaying a few more pictures.

While the previous description details a scoring system that involvesanalyzing metadata to rate a media file based on several criteria, oneskilled in the art will appreciate that a media file and its associatedmetadata may be evaluated in a variety ways. For example, rather thanassign a score to each metadata criteria, the system may apply a binaryanalysis to determine whether the criteria is satisfied or notsatisfied. An analysis may be based on one criteria, several criteria,or all criteria. In addition, criteria not disclosed herein may also beused in the analysis.

The selection process 300 may be repeated by the system on a periodicbasis, such as on an hourly or daily basis, or may be repeated on anad-hoc basis. For example, the system may repeat the selection process300 when a mobile device is not being used by a user. Additionally oralternatively, the system may continuously monitor or search for andselect available media files. The selection process may also betriggered based on a location, proximity to another individual orobject, or other event. For example, the system may automaticallyinitiate a selection process if a mobile device is physically locatedwithin a certain distance of a location. As another example, the systemmay automatically initiate a selection process if a mobile device isphysically located within a certain proximity to a person. Whentriggered by a location or person, the initial search strategy may betailored to identify media files associated with that location orperson, and metadata indicating that a media file is associated withthat location or person may we weighted more heavily when selectingwhich media file to present to the user.

The system may present media files that are identified by the selectionprocess 300 more frequently or less frequently than it completes theselection process. In some embodiments, the system automaticallypresents one or more media files on a mobile device upon the completionof the selection process. In some embodiments, the system does notautomatically present a media file and instead queues media files topresent in a certain order or at a certain date, time, event, or whenanother condition is met. For example, the system may determine that auser would find a particular media file most relevant on a certain date,such as one day before the anniversary of the media file's creation. Thesystem may wait until that day to present the media file. The system mayaccomplish such a feat by, for example, pre-calculating the date, time,or event that would result in the media file receiving the highestpossible relevancy score. In some embodiments, the system may notpresent a media file until a mobile device is in a certain state ofaction or inaction. For example, the system may wait until the mobiledevice is awoken from a hibernation mode before presenting a media fileto a user, or may wait until the mobile device has entered a period ofinactivity (e.g., periods when the user may be bored). In someembodiments, the system automatically presents a media file when a thirdparty tags or comments on the media file. For example, the system maymonitor a Facebook page or other social networking service. If, forexample, a third party comments on a picture or tags the picture, thesystem may automatically display the picture on the mobile device toalert a user of this activity.

In addition to presenting a media file to a user, the system may alsopresent one or more options for a user to take action with respect tothe media file. FIGS. 4A-4C are screen shots of representativeinterfaces that may be displayed on a mobile device by the system whenthe system presents a media file on the mobile device. In FIG. 4A, thesystem displays an image 420 on a mobile device 410 and does not displayany additional information or options. Whether or not a user takesaction after viewing the image therefore entirely depends on the whimsof the user. In contrast, in FIG. 4B the system displays the image 420and also displays textual information 430 on the mobile device thatprovides details related to the image. In the example in FIG. 4B, thesystem displays a reminder to a user about Caitlin's birthday onNovember 16. The textual information 430 displayed by the system may bederived from metadata associated with an image file or based on otherdata, such as data from a calendar or event planner, data from a socialnetworking website, or data from an address book. In the depictedexample, the system may display the textual information 430 regardingCaitlin's birthday because the image is tagged with “Caitlin” and acalendar of the user indicates that Caitlin's birthday is on November16.

In FIG. 4C, the system again displays the image 420 and a reminder 440on the mobile device 410. However, the system also displays three optionbuttons 450 a, 450 b, and 450 c that are associated with the image. Inthe example depicted in FIG. 4C, the image is tagged with “Caitlin” andthe system has discovered on the user's calendar that it is Caitlin'sbirthday. The system has also discovered an entry for “Caitlin” in anaddress book and a phone number for Caitlin. As a result, the systemdisplays a first option button 450 a to call Caitlin, a second optionbutton 450 b to text or MMS message Caitlin, and a third option button450 c to remove the information 440 and options from the mobile phonedisplay. A fourth option button (not shown) may allow the user to seeadditional media files that are associated with Caitlin. If the userselects the first option 450 a to call Caitlin, the mobile phone placesa call to Caitlin using the associated phone number. Similarly, if theuser selects the second option 450 b to text message Caitlin, the mobilephone proceeds to display a text or MMS message screen with Caitlin'saddress pre-filled. When generating a text, MMS, or email message, thesystem may prompt or otherwise encourage the user to attach thedisplayed media file with the email or MMS message. One skilled in theart will appreciate that the depicted options are only representativeand the system may display any option on a mobile device along with amedia file. For example, in some embodiments, the system may display animage and an option that says, “Do you want to place a call?” or “Do youwant to search the Internet for more information regarding this image?”As another example, the system may allow a user to send a voice note tothe depicted individual or to poke the depicted individual.

In addition to or in lieu of allowing a user to take action with respectto a presented media file, the system may automatically take action onthe presented media file. The system may send a message to a relateduser that is tagged as being depicted in the presented media file or isotherwise identified with the media file (e.g., the related user is theoriginator of the media file). The message may contain the media file ormay contain a pointer or path to the media file. When the message isreceived by a mobile device of the related user, the mobile device ofthe related user utilizes the information about the media file toretrieve and present the media file to the related user. The media filemay be presented to the related user in a similar fashion in which it ispresented to the first user. By causing the mobile device of the relateduser to present the same media file as is being displayed to the firstuser at about the same time, the users are able to share in a jointmemory. The related user may thereby be incentivized to contact thefirst user.

In some embodiments, the system presents two or more media filessimultaneously or sequentially. For example, the system may present aseries of photos that were associated with an event. As another example,the system may display an image file and play a music file that that waspopular at the time the image file was created. As still anotherexample, the system may play a music file that a user has recentlydownloaded while the system displays an image on a mobile device. Insome embodiments, the system may search the Internet or elsewhere for amedia file associated with a displayed media file. For example, a musicfile may include a tag of “Bob Dylan” and “Concert.” The system may playthe music file and display an image of Bob Dylan that the systemdownloaded from the Internet. In some embodiments, the system uses musicrecognition software to identify a captured music file. The system maytag the music file with data associated with an identified song.Similarly, the system may tag an associated video file or image filewith data associated with an identified song.

Once a media file and associated metadata are located by the system, thesystem may store the media file and the metadata in a manner that isaccessible and actionable by the system. FIG. 5 depicts a representativetable 500 showing media files located by the system and metadataassociated with the media files. Each row 505 in the table represents amedia file, and each column in the table contains metadatacharacterizing or associated with each media file. It will beappreciated that more rows 505 may be added to the table, or rows may beremoved from the table, if the system locates an additional media fileor if a media file is deleted or removed from the system. A first column510 contains a file name of each of the media files (as depicted,“Birthday_party.jpg,” “Jen_dancing.mpg,” and “Dad_singing.wav”). Asecond column 515 is used to store a type of each media file. Forexample, Birthday_party.jpg is a JPEG Image file. A third column 520 isused to store a location of the media file. For example,Birthday_party.jpg is stored in C:\pictures\, and Jen_dancing.mpg isstored in \\server1video\. A fourth column 525 is used to store acreation date of the media file. For example, Birthday_party.jpg wascreated on Jun. 8, 2008 and Jen_dancing.mpg was created on May 2, 2007.A fifth column 530 is used to store tags associated with a media file.For example, tags associated with birthday_party.jpg include “Caitlin,”“sister,” “birthday,” and “Space Needle.” A sixth column 535 is used tostore location-related metadata associated with a media file. Forexample, metadata associated with Birthday_party.jpg includes latitudeand longitude of 47.6203, −122.3490, and metadata associated withJen_dancing.mpg includes the city of Vancouver, British Columbia. Aseventh column 540 is used to store a date that a media file was lastaccessed. For example, the media file Dad_singing.wav was last accessedon Aug. 4, 2008. It will be appreciated that additional metadatacharacterizing or associated with each media file may be added to thetable by adding additional columns 545 to the table.

By presenting the media file to a mobile device user, the system remindsthe user of important events in the user's life or fond memoriesassociated with past dates, people, events, or places, and by promptinga user to take action, the system increases the user's enjoyment of themobile device as it reconnects people over past events. The disclosedsystem therefore reconnects mobile device users with friends and familyin a fun an unobtrusive manner.

By prompting communication between users, one of the side effects of thesystem is that it may stimulate network usage of a service provider'snetwork. For example, users may be more likely to make calls or sendtexts or emails after having viewed a photo or a video, or listened to asong from a past event. Because the system may stimulate networktraffic, a system operator may elect for the system to be operationalonly at times when network usage is otherwise low. For example, thesystem may only operate on weekends or after business hours.Alternatively, if a network operator sees a reduction in networktraffic, the operator may elect for the system to be operational or topresent a greater number of media files in hope of stimulatingadditional network traffic to cause the network to be more optimallyutilized. In some embodiments, a user may be provided with controls tospecify when the system is operational and to modify certain parametersof the system's operation, such as where to search and locate mediafiles that are pertinent to the user. Moreover, the user may be providedwith controls that allow the user to expressly exclude certain mediafrom consideration by the system. For example, if the user had photos orvideos of a family dog that had passed away, the user could opt toexclude all media files that were tagged with the name of the family dogin order to avoid being reminded about the loss of the family pet.

From the foregoing, it will be appreciated that specific embodiments ofthe invention have been described herein for purposes of illustration,but that various modifications may be made without deviating from thespirit and scope of the invention. For example, while FIG. 5 shows atable whose contents and organization are designed to make them morecomprehensible by a human reader, those skilled in the art willappreciate that actual data structures used by the system to store thisinformation may differ from the table shown, in that they, for example,may be organized in a different manner, may contain more or lessinformation than shown, may be compressed and/or encrypted, etc. Asanother example, the blocks shown in FIG. 3 may be altered in a varietyof ways. The order of the blocks may be rearranged, blocks may beperformed in parallel, blocks may be omitted, or other blocks may beincluded. Accordingly, the invention is not limited except as by theappended claims.

We claim:
 1. A computer-implemented method of identifying a media filethat is relevant to a user of a first mobile device and presenting themedia file to the user of the first mobile device and a user of a secondmobile device, the method comprising: automatically formulating a searchquery to identify a plurality of media files that are relevant to a userof a first mobile device, wherein the search query includes a temporallimitation to seek only media files having an associated month and daythat are equal to the present month and day, but have a different yearthan the present year, and wherein the search query is formulatedwithout receiving user search criteria; applying the search query tostored media files to identify a plurality of media files that satisfythe search query, wherein each of the plurality of media files haveassociated metadata that characterizes the media file; determining foreach of the identified plurality of media files a relevancy score thatreflects a relevance of the associated media file to the user of thefirst mobile device, wherein the relevancy score is based on two or morecriteria and determined by: calculating, for each of the two or morecriteria, an individual criteria score that is higher for identifiedmedia files having greater relevance to the user of the first mobiledevice and lower for identified media files having less relevance to theuser of the first mobile device; and summing the two or more individualcriteria scores to determine the relevancy score; selecting only asingle one of the identified plurality of media files to present to theuser of the first mobile device and the user of the second mobiledevice, wherein the single selected media file has the highestdetermined relevancy score; automatically presenting the single selectedmedia file to the user of the mobile device; and sending a message tothe second mobile device to cause the selected media file to bepresented to the user of the second mobile device.
 2. Thecomputer-implemented method of claim 1, further comprising presenting tothe user of the mobile device an option to take an action in conjunctionwith the presentation of the single selected media file.
 3. Thecomputer-implemented method of claim 2, wherein the action is selectedfrom the group consisting of sending a textual message, making a phonecall, sending a voice note, sending a poke, forwarding the selectedmedia file, or viewing another media file.
 4. The computer-implementedmethod of claim 1, wherein the present month and day corresponds to ananniversary.
 5. The computer-implemented method of claim 4, wherein theanniversary is a yearly anniversary.
 6. The computer-implemented methodof claim 1, wherein a criteria is content of descriptive tags, and themetadata is evaluated to determine whether a descriptive tag associatedwith a media file is reflective of an event or person.
 7. Thecomputer-implemented method of claim 6, wherein the evaluation includescomparison of the descriptive tag with at least one of an address book,a calendar, a playlist, or a note.
 8. The computer-implemented method ofclaim 1, wherein a criteria is location, and the metadata is evaluatedto determine whether a location associated with a media file is relatedto a current physical location of the mobile device.
 9. Thecomputer-implemented method of claim 1, wherein a criteria is prior use,and the metadata is evaluated to determine whether an associated mediafile has been previously used.
 10. The computer-implemented method ofclaim 9, wherein the evaluation to determine whether an associated mediafile has been previously used further includes evaluating a frequencyand a type of use.
 11. The computer-implemented method of claim 1,wherein a criteria is rating, and the metadata is evaluated to determinewhether an associated media file has been positively rated.
 12. Thecomputer-implemented method of claim 1, wherein the media file isselected from the group consisting of a picture file, a video file, anaudio file, or a text file.
 13. A computing system that identifies amedia file that is relevant to a user of a mobile device andautomatically presents the media file to the user, the computing systemcomprising: an analysis component that is configured to: automaticallyformulate a search query to identify a plurality of media files that arerelevant to a user of a mobile device, the search query including atemporal limitation to seek only media files having an associated monthand day that are equal to the present month and day, but have adifferent year than the present year, the search query formulatedwithout input from the user; apply the search query to stored mediafiles to identify a plurality of media files that satisfy the searchquery, each of the plurality of media files having associated metadatathat characterizes the media file; determine for each of the identifiedplurality of media files a relevancy score that reflects a relevance ofthe associated media file to the user, the relevancy score being basedon two or more criteria and determined by: calculating, for each of thetwo or more criteria, an individual criteria score that is higher foridentified media files having greater relevance to the user and lowerfor identified media files having less relevance to the user; andcombining the two or more individual criteria scores to determine therelevancy score; select only a single one of the identified plurality ofmedia files to present to the user of the mobile device, the singleselected media file having the highest determined relevancy score; and auser interface component that is coupled to the analysis component, theuser interface component being configured to automatically present thesingle selected media file to the user of the mobile device.
 14. Thecomputing system of claim 13, wherein the user interface componentfurther presents to the user of the mobile device an option to take anaction in conjunction with the presentation of the single selected mediafile.
 15. The computing system of claim 14, wherein the action isselected from the group consisting of sending a textual message, makinga phone call, sending a voice note, sending a poke, forwarding theselected media file, or viewing another media file.
 16. The computingsystem of claim 13, wherein the present month and day corresponds to ananniversary.
 17. The computing system of claim 16, wherein theanniversary is a yearly anniversary.
 18. The computing system of claim13, wherein a criteria is content of descriptive tags, and the metadatais evaluated to determine whether a descriptive tag associated with amedia file is reflective of an event or person.
 19. The computing systemof claim 18, wherein the evaluation includes comparison of thedescriptive tag with at least one of an address book, a calendar, aplaylist, or a note.
 20. The computing system of claim 13, wherein acriteria is location, and the metadata is evaluated to determine whethera location associated with a media file is related to a current physicallocation of the mobile device.
 21. The computing system of claim 13,wherein a criteria is prior use, and the metadata is evaluated todetermine whether an associated media file has been previously used. 22.The computing system of claim 21, wherein the evaluation to determinewhether an associated media file has been previously used furtherincludes evaluating a frequency and a type of use.
 23. The computingsystem of claim 13, wherein a criteria is rating, and the metadata isevaluated to determine whether an associated media file has beenpositively rated.
 24. The computing system of claim 13, wherein themedia file is selected from the group consisting of a picture file, avideo file, an audio file, or a text file.
 25. The computing system ofclaim 13, the analysis component further sends a message to another userto cause the selected media file to be presented to the other user on amobile device.
 26. A non-transitory durable computer-readable storagemedium comprising instructions for identifying a media file that isrelevant to a user of a first mobile device and presenting the mediafile to the user of the first mobile device and a user of a secondmobile device, the instructions, when executed by a processor, cause theprocessor to: automatically formulate a search query to identify aplurality of media files that are relevant to a user of a first mobiledevice, the search query including a temporal limitation to seek onlymedia files having an associated month and day that are equal to thepresent month and day, but have a different year than the present year,the search query formulated without input from the user; apply thesearch query to stored media files to identify a plurality of mediafiles that satisfy the search query, each of the plurality of mediafiles having associated metadata that characterizes the media file;determine for each of the identified plurality of media files arelevancy score that reflects a relevance of the associated media fileto the user of the first mobile device, the relevancy score being basedon two or more criteria and determined by: calculating, for each of thetwo or more criteria, an individual criteria score that is higher foridentified media files having greater relevance to the user of the firstmobile device and lower for identified media files having less relevanceto the user of the first mobile device; and combining the two or moreindividual criteria scores to determine the relevancy score; select onlya single one of the identified plurality of media files to present tothe user of the first mobile device and the user of the second mobiledevice, the single selected media file having the highest determinedrelevancy score; automatically resent the single selected media file tothe user of the mobile device; and send a message to the second mobiledevice to cause the selected media file to be presented to the user ofthe second mobile device.
 27. The non-transitory durablecomputer-readable storage medium of claim 26, further comprisinginstructions that, when executed by a processor, cause the processor to:present to the user of the mobile device an option to take an action inconjunction with the presentation of the single selected media file. 28.The non-transitory durable computer-readable storage medium of claim 27,wherein the action is selected from the group consisting of sending atextual message, making a phone call, sending a voice note, sending apoke, forwarding the selected media file, or viewing another media file.29. The non-transitory durable computer-readable storage medium of claim26, wherein the present month and day corresponds to an anniversary. 30.The non-transitory durable computer-readable storage medium of claim 29,wherein the anniversary is a yearly anniversary.
 31. The non-transitorydurable computer-readable storage medium of claim 26, wherein a criteriais content of descriptive tags, and the metadata is evaluated todetermine whether a descriptive tag associated with a media file isreflective of an event or person.
 32. The non-transitory durablecomputer-readable storage medium of claim 31, wherein the evaluationincludes comparison of the descriptive tag with at least one of anaddress book, a calendar, a playlist, or a note.
 33. The non-transitorydurable computer-readable storage medium of claim 26, wherein a criteriais location, and the metadata is evaluated to determine whether alocation associated with a media file is related to a current physicallocation of the mobile device.
 34. The non-transitory durablecomputer-readable storage medium of claim 26, wherein a criteria isprior use, and the metadata is evaluated to determine whether anassociated media file has been previously used.
 35. The non-transitorydurable computer-readable storage medium of claim 34, wherein theevaluation to determine whether an associated media file has beenpreviously used further includes evaluating a frequency and a type ofuse.
 36. The non-transitory durable computer-readable storage medium ofclaim 26, wherein a criteria is rating, and the metadata is evaluated todetermine whether an associated media file has been positively rated.37. The non-transitory durable computer-readable storage medium of claim26, wherein the media file is selected from the group consisting of apicture file, a video file, an audio file, or a text file.
 38. Thecomputer-implemented method of claim 1, wherein the selected media fileis related to the user of the second mobile device.
 39. Thenon-transitory durable computer-readable storage medium of claim 26,wherein the selected media file is related to the user of the secondmobile device.